Method and apparatus for implementing video game and includes social darts

ABSTRACT

Described herein is a video game application that is executed on a first computing device, and related technologies for implementing the video game application. In the video game application, the user controls the direction of a simulated dart by tilting and/or otherwise moving a second computing device in different directions. The simulated dart traverses a terrain through conditions to hit a target displayed on the first computing device. To gain points in the video game application, the user must control the simulated dart to strike the target at certain locations.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. provisional application No.61/599,143, filed Feb. 15, 2012, which is incorporated by reference asif fully set forth.

BACKGROUND

In recent years, tablet computers and similar devices have become verypopular. These computer devices frequently include motion sensors (suchas accelerometers) that detect the movements of the computer device andgenerate corresponding motion information that may be used byapplications that are running on the devices. Some video gameapplications use this motion information to control virtual objects in away that parallels the generated motion information. For example, insome car racing video games, steering of the car is performed by tiltingand/or moving the computer device to indicate which direction the carshould be steered.

While a number of successful computer-based video games are currently onthe market, users are always in search of new and interesting approachesto video games. Thus, the video game and related technologies describedherein would be advantageous.

SUMMARY

Described herein is a video game application that is executed on a firstcomputing device, and related technologies for implementing the videogame application. In the video game application, the user controls thedirection of a dart by tilting and/or otherwise moving a secondcomputing device in different directions. The simulated dart traverses asimulated or virtual terrain through conditions to hit a targetdisplayed on the first computing device. To gain points in the videogame application, the user must control the simulated flight of the dartto strike the target at certain locations.

BRIEF DESCRIPTION OF THE DRAWINGS

Understanding of the present invention will be facilitated byconsideration of the following detailed description of the preferredembodiments of the present invention taken in conjunction with theaccompanying drawings, in which like numerals refer to like parts:

FIG. 1A illustrates a first computing device, wherein the disclosedvideo game application is running, and a second computing device tocontrol the simulated path of a dart launched at the first computingdevice;

FIG. 1B illustrates a first computing device depicting a simulated orvirtual terrain through conditions to hit a target, an avatar, playerinformation and score displayed on the first computing device;

FIGS. 2A-D illustrate the second computing device displaying the userinterface used to simulate the dart and for simulating the throw of thedart described in the disclosed video game with FIG. 2A depicting yaw,FIG. 2B depicting pitch, FIG. 2C depicting roll and FIG. 2D depictingthe speed and initiation of a simulated dart throw;

FIG. 3 is a block diagram of the general components of an examplecomputing device, such as the first or second computing device, on whichthe disclosed video game application may be executed;

FIG. 4 illustrates an example system architecture wherein featuresdescribed herein may be implemented; and

FIG. 5 illustrates a method of interacting with a video game.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

It is to be understood that the figures and descriptions of the presentinvention have been simplified to illustrate elements that are relevantfor a clear understanding of the present invention, while eliminating,for the purpose of clarity, many other elements found in mobileapplications and other computer games and programs. Those of ordinaryskill in the art may recognize that other elements and/or steps aredesirable and/or required in implementing the present invention.However, because such elements and steps are well known in the art, andbecause they do not facilitate a better understanding of the presentinvention, a discussion of such elements and steps is not providedherein. The disclosure herein is directed to all such variations andmodifications to such elements and methods known to those skilled in theart.

FIG. 1A shows a configuration of video game application system. Asillustrated in FIG. 1A, there is a first computing device 110 and asecond computing device 140. The video game application may depict adart game. Darts is a form of throwing game in which darts are thrown ata circular target (dartboard) fixed to a wall. In the presentapplication, the dart is “thrown” from a second computing device 140 toa target 115 located on first computing device 110.

First computing device 110 may be a tablet computer, a television, aprojecting display, a display coupled to a desktop computer, a displaycoupled to a laptop computer, or even a portable computing device, suchas a Smartphone, for example. Second computing device 140 may be any oneof the types of computer devices identified for the first computingdevice 110, although generally second computing device 140 may be aportable computing device that may be handheld, such as a Smartphone oriPhone, MP3 player having an interactive display or iPod, or tabletcomputer or iPad.

The first computing device 110 may provide the system for running theapplication. The first computing device 110 may provide a visualrepresentation of the target 115. As is depicted in FIG. 1A, target 115may be displayed on first computing device 110 as a dartboard. Othertargets may be displayed as well, including simulated clay pigeons,balloons, animals, bombs, airplanes, and any other items that may serveas a target. For the ease of description, the remainder of the presentdescription will refer to target 115, which includes any type of targetincluding, but not limited to, the depicted dartboard.

In addition, first computing device 110 is depicted as a singlecomputing device with a single display. This is done for ease ofdescription and understanding of the present invention. It is expectedthat the present description includes multiple first computing devices110, such as for displaying the target 115 to multiple players locatedin different locations, for example.

Second computing device 140 may be used to simulate the launch or throwof the dart 150 at target 115. A player may control the simulated flightof the dart 150 by controlling the position and angle of the secondcomputing device 140, and/or dart 150. A player may rotate the secondcomputing device 140 to affect pitch, yaw and roll of the dart 150. Theplayer may additionally or alternatively angle the dart 150 on thescreen to affect the yaw of the dart 150. The second computing device140 may convey information regarding the pitch and roll, and the yaw(combined from the angle of the device and angle of the dart 150 on thescreen) to the first computing device 110 so that a marker 120 may bedisplayed on target 115, for example. Marker 120 may represent thelocation that the dart 150 as configured would impact. The player mayswipe the display of the second computing device 140 to initiate thesimulated flight of dart 150 by imparting speed and acceleration. Thespeed and acceleration of the dart 150 may be conveyed from secondcomputing device 150 to first computing device 110. The informationconveyed to first computing device 110 from second computing device 140may be used to calculate the location of the marker 120 and to calculateand show the impact of the simulated dart 150 throw.

The second computing device 140 may convey information indicative of theposition and angle of the second computing device 140 and/or dart 150 tothe first computing device 110. This information may include informationindicative of the pitch, yaw, roll, and/or speed of the dart 150.

The first computing device 110 may receive the information from thesecond computing device 140, and for pre-simulated flight, provide amarker 120 on the displayed target 115 that indicates where thesimulated dart 150 is aimed, or for post-launch of the dart 150, maydepict the simulated dart 150 striking the displayed target 115.

For the ease of description, the remainder of the present descriptionwill refer to dart 150, which includes any type of projectile including,but not limited to, the depicted dart. Other projectiles may includebombs, torpedoes, bullets, arrows, coins, baseballs, footballs, by wayof non-limiting example only.

In addition, second computing device 140 is depicted as a singlecomputing device with a single display. This is done for ease ofdescription and understanding of the present invention. It is expectedthat the present description includes multiple second computing devices140, such as for controlling and displaying different darts 150,including darts controlled by different players, which players may ormay not be in the same location, for example.

FIG. 1A shows a first computing device 110, wherein the disclosed videogame application is running. This first computing device 110 functionsas the host of the game and may serve as the target 115. The firstcomputing device 110 includes a touch screen display, on which thetarget 115 of the video game application is displayed. As shown in FIG.1A, the target 115, such as a dart board, provides the target or targetsfor which players aim the dart 150.

Referring now additionally to FIG. 1B, there is shown a depiction of thefirst computing device 110 and target 115 having a terrain 160 depictedtherewith. First computing device 110 may include a multitude ofdifferent arrangements and/or obstacles 160 that the players mustovercome with their dart 150 to hit the target 115. These arrangementsand obstacles 160 may include wind, elevation of land, friendly targetsthat are to be avoided, for example (depicted in FIG. 1B as elevation ofland). FIG. 1B also shows a marker 120 overlayed onto the target 115 toaid a player in aiming their respective dart 150 using the secondcomputing device 140.

The display depicted on the first computing device 110 may vary based oninteraction from a user using a second computing device 140. That is,for example in the situation where there are boulders, hills and rocks(obstacles 160) that may be in between a user and the target 115,movements of the second computing device 140 may enable the player to“see around” a given obstacle 160, and this “seeing around” may bedepicted on the display of the first computing device 110 by the displaymoving the obstacle 160 from the field of view of the player andproviding a different view of the target 115. For example, beforeinitiating a simulated dart throw the first computing device 110 maydisplay a target 115 at a distance with terrain and obstacles 160 in theforeground that need to be overcome in order to navigate a dart 150 tothe target 115. Upon initiation by the second computing device 140, theplayer's point of view may change, where the image displayed on thefirst computing device 110 may be modified to account for such a changein view. This may include removing the depicted obstacles 160 from thedisplay of the first computing device 110 leaving just the target 115and its immediate background displayed to the user. Further, once a dart150 has completed its full trajectory, the image may return to a fullscreen with additional information including avatar 180 and score 170.

In addition to serving as the target 115, the first computing device 110may display stats of the latest games and tournaments, top players, andmessage boards in between the game screen displays. During play, thefirst computing device 110 may display the target 115 in the center ofthe screen. On the right side, for example, of the screen an avatarpicture (shown as 180 in FIG. 1B) and name of the player (190 in FIG.1B) in competition with the score and rank of that player may bedisplayed. On the right side, the avatar picture 180 of the player whoseturn it is to play may be displayed. Such a display may include theplayer's information including score (shown as 170 in FIG. 1B) and rank,for example.

During play, the first computing device 110 serves as the target 115.Once a player is ready to throw a dart 150, the player may initiate adart 150 throw by actuating the respective second computing device 140,as will be described with respect to FIG. 2 below. This actuation maychange the display of the tablet 110 as described. This may include“looking around” obstacles 160 as described herein. The image displayedon the first computing device 110 may provide a display of the target115. The first computing device 110 may also display a marker 120overlayed on target 115 which is a result of the user actuation of thesecond computing device 140. This marker 120 may indicate the “aim” orimpact of the dart 150 about to be thrown.

The video game application may also include sound effects, such asproviding a “whoosh” sound indicating that the dart 150 has been thrownand simulates it flight through the air. This “whoosh” ends and a “thud”results with a depiction of the results of the simulated dart 150hitting target 115 and being displayed on the first computing device 110at its point of impact.

Once the target 115 has completed its simulated trajectory and hits thetarget 115 or not, the first computing device 110 may display the fullimage with the attendant information described above. At the end of thegame, the first computing device 110 may display the winner's name andavatar 180 on a full screen display, and may toggle with the winnersscore 170 and nightly game statistics, for example.

Game play may start with a score of 301, 401, 501, 601, or 1001, forexample. The object being to get exactly zero by throwing rounds ofthree darts and subtracting the sum of those darts from the respectiveplayer's current score. Each dart may be scored by a number 116 where itlands within the target 115. The inner ring 118 is worth three times thenumber indicated, the outer ring 122 is worth two times the numberindicated and the two large sections 124, 126 score exactly the numberindicated. For example, on a given turn where a total of three darts arethrown, the highest possible score is 180 achieved by throwing threetriple 20s, each dart worth 60 points.

Generally, a regulation dartboard is 17¾ inches in diameter and isdivided into twenty radial sections numbered from 1-20. Each section isseparated with metal wire or a thin band of sheet metal. The bestdartboards have the thinnest wire, so that the darts have less chance ofhitting a wire and bouncing out. The numbers indicating the variousscoring sections of the board are also normally made of wire, especiallyon tournament-quality boards. The target 115 may mimic the dartboard insize and configuration to provide for natural playing of the presentapplication.

Similarly, in darts the dartboard is hung so that the bullseye is 5 feet8 inches from the floor, eye-level for a 6-foot person. The oche, whichis the line behind which the throwing player must stand, is generally 7feet 9+¼ inches from the face of the dartboard measured horizontally.Alternate methods of measuring the distance from the oche to thedartboard exist. The configuration of the dartboard and the oche may beaccounted for in the present application and may provide effects on thedart 150 as it is thrown.

The depiction of the dart 150 may include the barrel, the shaft and thefletching, and may depict the common lengths of 32 mm and 41 mm.

The dart 150 barrels may interact with the user as if the dart 150 comesin a variety of weights and constructions such as being made from brass,silver-nickel, or a tungsten alloy. The barrels of the darts may be anyshape including the standard cylindrical, torpedo, or ton.

The shafts of dart 150 may mimic various lengths and may be depicted tobe made from plastics, nylon polymers, or metals such as aluminum andtitanium; and can be rigid or flexible. A player may select a dart 150from a variety of dart options, by shopping in one or more dart shops,for example. The variety of dart options may include different dartshapes, materials, sizes and weights. Longer shafts provide greaterstability and allow a longer flight for a given speed imparted into thedart which in turn can lead to a closer grouping; but they also shiftthe weight towards the rear causing the dart to tilt backwards duringflight, requiring a harder, faster throw. A longer shaft will howevermake the dart less responsive and increase the chance of “wobbling”.Generally speaking a heavier dart will require a greater speed to beimparted into the dart to achieve the same distance throw.

The choice of barrel, shaft, and flight will depend a great deal on theindividual player's throwing style. For competitive purposes a dartcannot weigh more than 50 g including the shaft and flight and cannotexceed a total length of 300 mm. The present depicted darts 150 may besimulated with such restrictions.

The standard dartboard is divided into 20 numbered sections, scoringfrom 1 to 20 points, by wires running from the small central circle tothe outer circular wire. Circular wires within the outer wire subdivideeach section into single 124, 126, double 122 and triple 118 areas.

Various games can be played using the present application. Standarddarts as may be understood by those possessing an ordinary skill in thepertinent arts. There are many games that can be played on a dartboard,but darts generally refers to a game whereby the player throws threedarts per visit to the board with the goal of reducing a fixed score,commonly 501 or 301, to zero (“checking out”), with the final dartlanding in either the bullseye or a double segment. A game of darts isgenerally contested between two players, who take turns. Although anynumber of players may be used. Each turn consists of throwing threedarts. When two teams play, the starting score is sometimes increased to‘701’ or even ‘1001’; while the rules remain the same.

A throw that reduces a player's score below zero, to exactly one, or tozero but not ending with a double is known as “going bust”, with theplayer's score being reset to the value prior to starting the turn, andthe remainder of the turn being forfeited. A darts match is played overa fixed number of games, known as legs. A match may be divided intosets, with each set being contested as over a fixed number of legs.

Although playing straight down from 501 is standard in darts, sometimesa double must be hit to begin scoring, known as “doubling in”, with alldarts thrown before hitting a double not being counted. Other variantsof darts may include Round the Clock, Archery darts, Audio darts,Cricket, Dartball, Dart Golf, Fives, Halve, Killer, Lawn Darts,Shanghai, Ranger, by way of non-limiting example. All of these variantsand more can be simulated on the two computing devices of FIGS. 1 and 2and run on the disclosed video game application.

FIGS. 2 A-D show a user second computing device 140 displaying the userinterface used to throw the dart 150 in the disclosed video gameapplication. FIGS. 2 A-D generally depicts a user interaction with asecond computing device 140 in order to adjust the dart's 150 simulatedflight to overcome obstacles and hit the target (not shown in FIGS. 2A-D). The terrain of a given game may be decided by the player who playsfirst, or randomly, or by a group decision, for example. The terrain mayinclude wind, precipitation and other effects that add challenge to thegame, which is something that cannot be simulated in the standard dartgame. In addition, the target 115 may also move which is a furtherchallenge to the player.

The simulated flight of the dart can be affected by the interaction oradjustment of the second computing device 140, and/or the player'sthumb, finger or fingers. Adjustments to vary the simulated dart flightresult from pitch (lateral axis) and yaw (vertical axis) and to roll(longitudinal axis) even though roll of a dart 150 generally does notaffect its flight, as well as varying the speed of the dart 150. Otherprojectiles may be influenced by the roll. Also, the speed and/oracceleration of the second computing device 140 and/or the player'sfinger or fingers can effect the simulated flight of the dart 150 Thisinteraction further includes an initiation to throw the dart 150 at thetarget 115. The second computing device 140 may be used to throw thedart 150, and the movement of the dart 150 may be based on the positionof the second computing device 140 and movement of the user's thumb onthe screen. Alternatively, the second computing device 140 could be heldsteady in a horizontal plane and the player's thumb or finger action canbe the only factors affecting the simulated flight of the dart 150.

The simulated flight of the dart 150 is affected similarly to the flightof an actual dart. That is, the dynamics of the flight is determined.The flight dynamics is controlled in three dimensions. The three flightparameters are the angles of rotation in three dimensions about thedart's center of mass, known as roll, pitch and yaw. For the dart, rollgenerally does not affect the flight although as other projectiles maybe used in the video game, other projectiles may be affected by the rollof the projectile. Roll, pitch and yaw refer to rotations about therespective axes starting from a defined equilibrium state.

As depicted in FIG. 2A, a user may adjust the angle of the dart 150 withrespect to the vertical axis or vertical plane, also referred to as yaw.A user may adjust the placement and angle of the thumb during initiationof the dart 150 throw to affect the yaw angle of the dart 150. Forexample, a user may pull back his thumb towards a corner of the secondcomputing device 140 to provide an angle to the dart 150. The yaw angleof the dart 150 may also be determined by the overall angle of a user'ssecond computing device 140.

As depicted in FIG. 2B, a user may adjust the angle of the dart 150 withrespect to a lateral axis, also referred to as pitch. The adjustment ofthe pitch of the dart 150 may generally be defined by the tilt of theuser's second computing device 140 from the front to the aft of the dart150.

As depicted in FIG. 2C, a user may adjust the angle of the dart 150 withrespect to the axis on which the dart 150 travels, also referred to asroll. The adjustment of roll of the dart 150 may generally be defined asthe tilt of the user's second computing device 140 about the axis of thedart 150. That is, generally side-to-side tilt of the user's secondcomputing device 140.

As depicted in FIG. 2D, a user may adjust the speed and/or accelerationof the dart 150 and initiate the flight of the dart 150 with the currentconfigurations in order to send the dart 150 on its way to the target115. A user, by initiating the throw of the dart 150 by moving his thumbforward on the second computing device 140, may impart speed to the dart150 by moving their thumb more or less quickly.

While a marker 120 may be provided to aid a player in hitting selectedportions of the target 115, the skill of the player may affect theability to hit the marker 120. In simulating a dart game, a player'sskill may be recorded and may evolve over time and the playing of dartgames. This skill may affect the ability of a player to hit the target115 or the marker 120 just as would be the case in a real dart game.

For example, in darts the path of the optimal location to throw a dartwill vary based on the skill of the player. Using a rating where aplayer's skill is graded with a grade of 0 being a perfect player and agrade of 100 being a player who throws randomly, the optimal area to aimfor on the target 115 in order to maximize the player's score variessignificantly based on the players skill. The skilled player, thoseplayers graded closer to 0, may aim for the center of the desiredlocation on target 115 and as the player's skill reduces, those playerswhose grade is closer to 100, may need to aim slightly up and to theleft of the desired location on target 115. The marker 120 may accountfor the ability of the player, and/or the marker 120 may denote theposition that a perfect player should aim, and/or the ability of aplayer to hit the marker 120 or target 115 may depend on the skill ofthe player.

Players may also interact using the second mobile device 140, to uploadavatar pictures 180, enter names 190 and locations, link their profilewith their favorite social pages, and the like. Players may also keepalbums in which the players can store pictures and comments of memorabledart games.

Players may also buy assets for the game, such as new terrains 160 andnew sets of darts 150. Coupons, tickets and other benefits may also beincluded. Dart 150 types may be customized and be suited for differentterrains and conditions 160. The application may include a basic dart150 set and allow the user to customize the set skin, by changing thecolor, uploading an image, and the like. Basic darts 150 may havelimited range and speed, for example. Players may upgrade to a pro-dartmodel dart 150 set, with each set offering different advantages that maybe utilized by a player during gameplay. Additionally, players mayacquire and/or use a trajectory aiming tool that helps a playercalculate their aiming pitch, yaw, and speed to precisely hit thetarget. A user may also provide wall postings and stats of top playersand upcoming game statistics.

The social dart application may be downloaded to the first computingdevice 110 host of FIG. 1A and to the respective second computing device140. Once installed on each device, the application may scan to findavailable dart hosting games and request connections. The owner of thehosting first computing device 110 may accept players to be added to thegame. Once connected to the hosting first computing device 110, a playercan join or wait for the next game. Players may use their respectivesecond computing devices 140 to look at game stats, and customize theirdart 150, profile exchange messages or post to the wall.

Tournaments may be organized and players may be grouped into teams.Players may also play against the system or other players in remotelocations, for example.

The application may be configured that the first computing device 110pays for the application and the second computing device 140 areprovided a free version of the application.

FIG. 3 is a block diagram of a computing device 300 that may be used toimplement features described herein. This computing device may be thefirst computing device 110 and/or the second computing device 140. Thecomputing device 300 includes a processor 302, a memory device 304, acommunication interface 306, a data storage device 308, a touchscreendisplay 310, and a motion detector 312. These components may beconnected via a system bus 314 in the computing device 300, and/or viaother appropriate interfaces within the computing device 300.

The memory device 304 may be or include a device such as a DynamicRandom Access Memory (D-RAM), Static RAM (S-RAM), or other RAM or aflash memory. As shown in FIG. 3, the video game application 316 may beloaded into the memory device 304.

The data storage device 308 may be or include a hard disk, amagneto-optical medium, an optical medium such as a CD-ROM, a digitalversatile disk (DVDs), or Blu-Ray disc (BD), or other type of device forelectronic data storage. The data storage device 308 may storeinstructions that define the video game application 316, and/or datathat is used by the video game application 316.

The communication interface 306 may be, for example, a communicationsport, a wired transceiver, a wireless transceiver, and/or a networkcard. The communication interface 306 may be capable of communicatingusing technologies such as Ethernet, fiber optics, microwave, xDSL(Digital Subscriber Line), Wireless Local Area Network (WLAN)technology, wireless cellular technology, and/or any other appropriatetechnology.

The touchscreen display 310 may be based on one or more technologiessuch as resistive touchscreen technology, surface acoustic wavetechnology, surface capacitave technology, projected capacitavetechnology, and/or any other appropriate touchscreen technology.

The motion detector 312 may include one or more three-axes accelerationmotion detectors (e.g., accelerometers) operative to detect linearacceleration in three directions (i.e., the X (left/right) direction,the Y (up/down) direction, and the Z (out of plane) direction).Alternatively, the motion detector 312 can include one or more two-axisacceleration motion detectors 312 which can be operative to detectlinear acceleration only along each of the X or Y directions, or anyother pair of directions. Alternatively or additionally, the motiondetector 312 may be or include an electrostatic capacitanceaccelerometer that is based on a technology such as siliconmicro-machined MEMS (Micro Electro Mechanical Systems) technology, apiezoelectric type accelerometer, a piezoresistance type accelerometer,or any other suitable type of accelerometer.

When the touchscreen 310 receives data that indicates user input, thetouchscreen 310 may provide the data to the video game application 316.Alternatively or additionally, when the motion detector 312 detectsmotion, the motion detector 312 may provide the corresponding motioninformation to the video game application 316.

As shown in FIG. 3, the video game application 316 is loaded into thememory device 304. Although actions are described herein as beingperformed by the video game application 316, this is done for ease ofdescription and it should be understood that these actions are actuallyperformed by the processor 302 (in conjunction with the persistentstorage device, network interface, memory, and/or peripheral deviceinterface) in the computing device 300, according to instructionsdefined in the video game application 316. Alternatively oradditionally, the memory device 304 and/or the data storage device 308in the computing device 300 may store instructions which, when executedby the processor 302, cause the processor 302 to perform any feature orany combination of features described above as performed by the videogame application 316. Alternatively or additionally, the memory device304 and/or the data storage device 308 in the computing device 300 maystore instructions which, when executed by the processor 302, cause theprocessor 302 to perform (in conjunction with the memory device,communication interface, data storage device, touchscreen display,and/or motion detector) any feature or any combination of featuresdescribed above as performed by the video game application 316.

The computing device 300 shown in FIG. 3 may be, for example, an AppleiPad, or any other appropriate computing device. The video gameapplication 316 may run on an operating system such as iOS, Android,Linux, Windows, and/or any other appropriate operating system.

FIG. 4 shows an example architecture 400 wherein features describedherein may be implemented. The example architecture 400 includes a website system 410, a first computing device 420, the Internet 430, and thesecond computing device 440. The web site system 410 of FIG. 4 includeshardware (such as one or more server computers) and software forimplementing a video game as described. The first computing device 420described above may be used to download and run a local application tointeract with other and/or software for social darts. Alternatively, anend user may use the first computing device 420 to display and interactwith the web pages that make up the interactive web site. The device 420shown in FIG. 4 may be, for example, a laptop or desktop computer, atablet computer, a smartphone, a PDA, and/or any other appropriate typeof device.

The web site system 410 includes a web server module 412, a webapplication module 414, and a database 416, which, in combination, storeand process data for providing the web site. The web application module414 may provide the logic behind the web site provided by the web sitesystem 410, and/or perform functionality related to the generation ofthe web pages provided by the web site system 410. The web application414 may communicate with the web server module 412 for generating andserving the web pages that make up the web site.

The first computing device 420 may include a web browser module 422,which may receive, display, and interact with the web pages provided bythe web site system 410. The web browser module 422 in the firstcomputing device 420 may be, for example, a web browser program such asInternet Explorer, Firefox, Opera, Safari, and/or any other appropriateweb browser program. To provide the web site to the user of the firstcomputing device 420, the web browser module 422 in the first computingdevice 420 and the web server module 412 may exchange HyperText TransferProtocol (HTTP) messages, per current approaches that would be familiarto skilled person.

The second computing device 440 may include a web browser module 4422,which may receive, display, and interact with the web pages provided bythe web site system 410. The web browser module 442 in the secondcomputing device 440 may be, for example, a web browser program such asInternet Explorer, Firefox, Opera, Safari, and/or any other appropriateweb browser program. To provide the web site to the user of the secondcomputing device 440, the web browser module 442 in the second computingdevice 440 and the web server module 412 may exchange HyperText TransferProtocol (HTTP) messages, per current approaches that would be familiarto skilled person.

As described hereinabove, details regarding the interactive web site andthe pages of the web site (as generated by the web site system 410 anddisplayed/interacted with by the user of the first computing device 420)are provided.

Registration to the site is required in order to interact using thefirst computing device 420. Users can create an account with the website, and/or may log in via credentials associated with other web sites.With each user account, the user has a personal page. Via this page,users can establish “friends” links to other users, transmit/receivemessages, and publish their bookmarks. Users can also publish in forumson the site, post comments, and create bookmarks.

The web site may include any number of different web pages, includingbut not limited to the following: a front (or “landing”) page; a searchresults page; an account landing page; and a screening window page.

Via the account landing page, the user is able to perform actions suchas: set options for the user's account; update the user's profile;customize the landing page and/or the account landing page; postinformation; perform instant messaging/chat with other users who arelogged in; view information related to bookmarks the user has added;view information regarding the user's friends/connections; viewinformation related to the user's activities; and/or interact withothers and/or software for social darts.

Advertising may be integrated into the site in any number of differentways. As one example, each or any of the pages in the web site mayinclude banner advertisements. Alternatively, video advertisements maybe played, and/or be inserted periodically.

The components in the web site system 410 (web server module 412, webapplication module 414, outgoing video module (not shown)) may beimplemented across one or more computing devices (such as, for example,server computers), in any combination.

The database 416 in the web site system 410 may be or include one ormore relational databases, one or more hierarchical databases, one ormore object-oriented databases, one or more flat files, one or morestructured files, and/or one or more other files for storing data in anorganized/accessible fashion. The database 416 may be spread across anynumber of computer-readable storage media. The database 416 may bemanaged by one or more database management systems in the web sitesystem 410, which may be based on technologies such as Microsoft SQLServer, MySQL, PostgreSQL, Oracle Relational Database Management System(RDBMS), a NoSQL database technology, and/or any other appropriatetechnologies and/or combinations of appropriate technologies. Thedatabase 416 in the web site system 410 may store information related tothe web site provided by the web site system 410, including but notlimited to any or all information described herein as necessary toprovide the features offered by the web site.

The web server module 412 implements the Hypertext Transfer Protocol(HTTP). The web server module 412 may be, for example, an Apache webserver, Internet Information Services (IIS) web server, nginx webserver, and/or any other appropriate web server program. The web servermodule 412 may communicate HyperText Markup Language (HTML) pages,handle HTTP requests, handle Simple Object Access Protocol (SOAP)requests (including SOAP requests over HTTP), and/or perform otherrelated functionality.

The web application module 414 may be implemented using technologiessuch as PHP: Hypertext Preprocessor (PHP), Active Server Pages (ASP),Java Server Pages (JSP), Zend, Python, Zope, Ruby on Rails, AsynchronousJavaScript and XML (Ajax), and/or any other appropriate technology forimplementing server-side web application functionality. In variousimplementations, the web application module 414 may be executed in anapplication server (not depicted in FIG. 4) in the web site system 410that interfaces with the web server module 412, and/or may be executedas one or more modules within the web server module 412 or as extensionsto the web server module 412. The web pages generated by the webapplication module 414 (in conjunction with the web server module 412)may be defined using technologies such as HTML (including HTML5),eXtensible HyperText Markup Language (XHMTL), Cascading Style Sheets,Javascript, and/or any other appropriate technology.

Alternatively or additionally, the web site system 410 may include oneor more other modules (not depicted) for handling other aspects of theweb site provided by the web site system 410.

The web browser module 422 in the first computing device 420 and/or theweb browser module 442 in the second computing device 440 may includeand/or communicate with one or more sub-modules that performfunctionality such as rendering HTML, rendering raster and/or vectorgraphics, executing JavaScript, decoding and rendering video data,and/or other functionality. Alternatively or additionally, the webbrowser module 422, 442 may implement Rich Internet Application (RIA)and/or multimedia technologies such as Adobe Flash, MicrosoftSilverlight, and/or other technologies, for displaying video. The webbrowser module 422, 442 may implement RIA and/or multimedia technologiesusing one or web browser plug-in modules (such as, for example, an AdobeFlash or Microsoft Silverlight plugin), and/or using one or moresub-modules within the web browser module 422, 442 itself. The webbrowser module 422, 442 may display data on one or more display devices(not depicted) that are included in or connected to the first computingdevice 420 and/or second computing device 440, such as a liquid crystaldisplay (LCD) display or monitor. The first computing device 420 mayreceive input from the user of the first computing device 420 from inputdevices (not depicted) that are included in or connected to the firstcomputing device 420, such as a keyboard, a mouse, or a touch screen,and provide data that indicates the input to the web browser module 422.The second computing device 440 may receive input from the user of thesecond computing device 440 from input devices (not depicted) that areincluded in or connected to the second computing device 420, such as akeyboard, a mouse, or a touch screen, and provide data that indicatesthe input to the web browser module 442.

As depicted in FIG. 4, the first computing device 420 and the secondcomputing device 440 may be interconnected such as by infrared signal,NIC, or other direct communication methods.

Although the example architecture of FIG. 4 shows a single computingdevice, this is done for convenience in description, and it should beunderstood that the architecture of FIG. 4 in may include, mutatismutandis, any number of computing devices with the same or similarcharacteristics as the described computing device.

Although the methods and features are described herein with reference tothe example architecture of FIG. 4, the methods and features describedherein may be performed, mutatis mutandis, using any appropriatearchitecture and/or computing environment. Alternatively oradditionally, although examples are provided herein in terms of webpages generated by the web site system 410, it should be understood thatthe features described herein may also be implemented usingspecific-purpose client/server applications. For example, each or any ofthe features described herein with respect to the web pages in theinteractive web site may be provided in one or more specific-purposeapplications. For example, the features described herein may beimplemented in mobile applications for Apple iOS, Android, or WindowsMobile platforms, and/or in client application for Windows, Linux, orother platforms, and/or any other appropriate computing platform.

For convenience in description, the modules (web server module 412, webapplication module 414, and web browser module 422) shown in FIG. 4 aredescribed herein as performing various actions. However, it should beunderstood that the actions described herein as performed by thesemodules are in actuality performed by hardware/circuitry (i.e.,processors, network interfaces, memory devices, data storage devices,input devices, and/or display devices) in the electronic devices wherethe modules are stored/executed.

A method of interacting with a video game is also disclosed. This method500 is illustrated in FIG. 5. Method 500 includes the steps of providinga target on a first computing device at step 510. Providing a target mayinclude displaying a target on the screen of the first computing deviceas a display. Such a target may take the form of a dartboard with thebullseye and traditional dartboard configuration described herein.

At step 520, an interaction between the first and second computingdevice is initiated. This may include a user sliding along the surfaceof the second device to activate the system to the user's shot. This mayfurther include angling the device in pitch and yaw as describedhereinabove.

Responsive to the initiation, a marker is provided on the target at step530. Based on the position of the second computing device, the markermay be displayed on the target. By changing the angle of the seconddevice, the marker may be moved along the target to allow a user to aimthe dart.

At step 540, a simulated throw may be initiated from the second deviceto the first device to strike the target. This throw may be initiated byswiping a finger across the surface of the computing device to initiatethe simulated flight of the dart to the target. Based on the speed ofthe swipe across the surface, various speeds may be imparted on thedart. Where the dart strikes the target may be determined by the speedof the swipe and angles of the device while or just before the dart is“thrown.”

As used herein, the term “processor” broadly refers to and is notlimited to a single- or multi-core central processing unit (CPU), aspecial purpose processor, a conventional processor, a GraphicsProcessing Unit (GPU), a digital signal processor (DSP), a plurality ofmicroprocessors, one or more microprocessors in association with a DSPcore, a controller, a microcontroller, one or more Application SpecificIntegrated Circuits (ASICs), one or more Field Programmable Gate Array(FPGA) circuits, any other type of integrated circuit (IC), asystem-on-a-chip (SOC), and/or a state machine.

As used to herein, the term “computer-readable medium” broadly refers toand is not limited to a register, a cache memory, a ROM, a semiconductormemory device (such as a D-RAM, S-RAM, or other RAM), a magnetic mediumsuch as a flash memory, a hard disk, a magneto-optical medium, anoptical medium such as a CD-ROM, a DVDs, or BD, or other type of devicefor electronic data storage.

Although features are described herein as being performed in a tabletcomputing device, the features described herein may also be implemented,mutatis mutandis, on a desktop computer, a laptop computer, a netbook, acellular phone, a personal digital assistant (PDA), or any otherappropriate type of tablet computing device or data processing device.

Although features and elements are described above in particularcombinations, each feature or element can be used alone or in anycombination with or without the other features and elements. Forexample, each feature or element as described above may be used alonewithout the other features and elements or in various combinations withor without other features and elements. Sub-elements of the methods andfeatures described above may be performed in any arbitrary order(including concurrently), in any combination or sub-combination.

Although the invention has been described and pictured in an exemplaryform with a certain degree of particularity, it is understood that thepresent disclosure of the exemplary form has been made by way ofexample, and that numerous changes in the details of construction andcombination and arrangement of parts and steps may be made withoutdeparting from the spirit and scope of the invention as set forth in theclaims hereinafter.

What is claimed is:
 1. A method for implementing a video game, themethod implemented in a computing device that includes a processor andmemory device, the method comprising: providing a target on a firstcomputing device; initiating an interaction between the first computingdevice and a second computing device, the second computing deviceproviding the information to simulate the flight of a dart to the firstcomputing device; responsive to the interaction, providing a marker onthe target, which marker corresponds to the location to be struck by thedart as calculated from the information provided to the first computingdevice from the second computing device based on the position and tiltof the second computer device; and initiating a throw of the dart fromthe second computing device to the first computing device to strike thetarget, the initiating including transferring information from thesecond computing device to the first computing device that enables thefirst computing device to calculate where the simulated dart strikes thetarget.
 2. The method of claim 1 wherein providing a target comprisesdisplaying a dartboard.
 3. The method of claim 1 further comprisesproviding a terrain over which the dart traverses during flight.
 4. Themethod of claim 1 wherein the initiating an interaction comprises atleast one of swiping the screen of the second computing device anddepressing a button on the second computing device.
 5. The method ofclaim 1 wherein providing a marker includes displaying a plus sign onthe target.
 6. The method of claim 1 wherein the position of the markeris calculated using the inter-relation of the second computing device tothe first computing device and is generally based on where the secondcomputing device is pointing.
 7. The method of claim 1 whereininitiating the throw includes swiping the dart from the screen.
 8. Themethod of claim 1 wherein initiating the throw occurs by flicking thedart toward the target.
 9. The method of claim 1 wherein initiating thethrow occurs by pulling the dart back and releasing the dart in thedirection of the target.
 10. The method of claim 1 wherein initiatingthe throw imparts speed on the dart, which speed determines whether thedart strikes the target on the marker.
 11. The method of claim 1 whereinthe dart striking the target provides a score.
 12. The method of claim 1wherein the first computing device is a tablet computing device thatprovides at least one of a target, terrains and conditions over whichthe simulated dart is simulated to traverse.
 13. The method of claim 1wherein the second computing device is a smartphone and wherein aimingof the dart is performed by tilting the phone and by the thumbinitiation of the dart on the face of the device.
 14. A system forimplementing a video game of darts on a computing device, the systemcomprising: a processor for displaying a target on the screen of thecomputing device; a communication interface for receiving informationfrom other computing devices relative to the placement of a marker on atarget and relative to the speed and angle of a dart thrown at thetarget; the processor calculating from the received information thelocation of the marker and displaying the marker on the target; and oncethe throw of the dart is initiated, the communications interfacereceives the speed of the throw, and the processor calculates theposition where the dart strikes the target based on the speed of thethrow and the placement of the marker.
 15. The system of claim 14wherein displaying a target comprises displaying a dartboard.
 16. Thesystem of claim 14 further comprises the processor providing a terrainover which the dart traverses during flight.
 17. The system of claim 14wherein displaying a marker includes displaying a plus sign on thetarget.
 18. The system of claim 14 wherein the position of the marker iscalculated from the received information which represents theinter-relation of a second computing device to the first computingdevice and is generally based on where the second computing device ispointing.
 19. The system of claim 14 wherein the dart striking thetarget provides a score.
 20. The system of claim 14 wherein the firstcomputing device is a tablet computing device that provides at least oneof a target, terrains and conditions for throwing the dart.
 21. Anon-transitory computer readable medium having processor-executableinstructions stored thereon which, when executed by at least oneprocessor, will cause the at least processor to perform a method forimplementing a video game, the method comprising: providing a target ona first computing device; initiating an interaction between the firstcomputing device and a second computing device, the second computingdevice providing the information to simulate the flight of a dart to thefirst computing device; responsive to the interaction, providing amarker on the target, which marker corresponds to the location to bestruck by the dart as calculated from the information provided to thefirst computing device from the second computing device based on theposition and tilt of the second computer device; and initiating a throwof the dart from the second computing device to the first computingdevice to strike the target, the initiating including transferringinformation from the second computing device to the first computingdevice that enables the first computing device to calculate where thesimulated dart strikes the target.